/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package fisica;

import hibernate.Sesion;
import hibernate.objeto.AntecedenteFamiliar;
import java.util.Vector;
import org.hibernate.Query;
import presentacion.utilidad.Paginador;

/**
 *
 * @author Administrador
 */
public class AntecedenteFamiliarFisica extends CapaFisica {

    /**
     * Retorna el objeto AntecedenteFamiliarsegún el ID.
     *
     * @param idAntecedenteFamiliar El id del objeto AntecedenteFamiliar
     * @return El objeto AntecedenteFamiliar consultado, null si no existe
     */
    public static AntecedenteFamiliar getAntecedenteFamiliarPorId(
            int idAntecedenteFamiliar) {
        Query q = Sesion.sesion.createQuery(
                "from AntecedenteFamiliar " +
                "where idAntecedenteFamiliar = " + idAntecedenteFamiliar
                );

        return (AntecedenteFamiliar) getObjeto(q);
    }

    /**
     * Retorna el vector de objetos AntecedenteFamiliar según el id del paciente.
     *
     * @param idPaciente El id del paciente consultado
     * @return El vector de objetos AntecedenteFamiliar consultado, null si no
     * existe
     */
    public static Vector<AntecedenteFamiliar>
            getVectorAntecedenteFamiliarPorIdPaciente(int idPaciente) {
        Query q = Sesion.sesion.createQuery(
                "select fliar from AntecedenteFamiliar as fliar " +
                "where fliar.antecedente.paciente.idPaciente = " + idPaciente
                + " order by fliar.fechaAntecedenteFamiliar desc");

        Paginador.paginar(q);

        return getVectorObjetos(q);
    }

    /**
     * Retorna el vector de objetos AntecedenteFamiliar según el id antecedente.
     *
     * @param idAntecedente El id del antecedente asociado
     * @return El vector de objetos AntecedenteFamiliar consultado, null si no
     * existe
     */
    public static Vector<AntecedenteFamiliar>
            getVectorAntecedenteFamiliarPorIdAntecedente(int idAntecedente) {
        Query q = Sesion.sesion.createQuery(
                "select ant_fliar from AntecedenteFamiliar as ant_fliar " +
                "where ant_fliar.antecedente.idAntecedente = " + idAntecedente
                );

        return getVectorObjetos(q);
    }

}